package com.ticket.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ticket.common.annotation.Excel;
import com.ticket.common.core.domain.BaseEntity;
import com.ticket.system.domain.vo.PerformVo;
import com.ticket.system.domain.vo.UserInfoVo;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单详情对象 yanchu_order_detail
 *
 * @author ruoyi
 * @date 2023-10-20
 */
public class YanchuOrderDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private Long orderId;

    /**
     * 票号
     */
    @Excel(name = "票号")
    private String ticket;

    /**
     * 登录用户
     */
    @Excel(name = "登录用户")
    private Long userId;

    /**
     * 场次
     */
    @Excel(name = "场次")
    private Long sessionId;

    /**
     * 场馆编号
     */
    @Excel(name = "场馆编号")
    private Long hallId;

    /**
     * 区域编码
     */
    @Excel(name = "区域编码")
    private Integer areaId;

    /**
     * 分区编码
     */
    @Excel(name = "票档编码")
    private Long priceId;

    /**
     * 排
     */
    @Excel(name = "排")
    private Integer rowNumber;

    /**
     * A~F
     */
    @Excel(name = "A~F")
    private Integer seatNumber;

    /**
     * 演出时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "演出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trainStart;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trainEnd;

    /**
     * 价格
     */
    @Excel(name = "价格")
    private BigDecimal money;

    /**
     * 展示
     */
    @Excel(name = "展示")
    private String showNumber;

    /**
     * 状态，10：已占票等待支付，20：已支付，30：超时未支付自动取消
     */
    @Excel(name = "状态，1：已占票等待支付，2：已支付，3：超时未支付自动取消")
    private Integer status;

    /**
     * 最晚支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最晚支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expireTime;

    @Excel(name = "验票用户编码")
    private Integer checkedUserid;

    @Excel(name = "验票时间")
    private Date checkedTime;

    @Excel(name = "演出编码")
    private Long performId;

    /**
     * 录入的用户信息编码
     */
    @Excel(name = "录入的用户信息编码")
    private Long userinfoId;

    /**
     * (实名认证购票使用)用户名称
     */
    @Excel(name = "(实名认证购票使用)用户名称")
    private String userinfoUserName;

    /**
     * (实名认证购票使用)证件类型，0:未知，1：身份证，2：护照
     */
    @Excel(name = "(实名认证购票使用)证件类型，0:未知，1：身份证，2：护照")
    private Integer userinfoIdType;

    /**
     * (实名认证购票使用)证件号码
     */
    @Excel(name = "(实名认证购票使用)证件号码")
    private String userinfoIdNumber;

    private Integer days;

    private Integer ticketType;//购票类型 1小程序购票 2后台出票

    private Integer ticketWay;//出票类型1团购票 2工作票3赠票 4其他

    @Transient
    private PerformVo performVo;
    @Transient
    private UserInfoVo userInfoVo;

    private String ticketTitle;

    @Excel(name = "退款单号")
    private String refundNo;

    private BigDecimal totalFee;

    private Integer isComb = 0;

    @Transient
    private String orderNo;
    @Transient
    private String areaName;

    private Integer isTicket = 0;


    private Date ticketTime;

    private BigDecimal yingfuMoney;

    private BigDecimal jianmianMoney;

    private String buyerPhone;

    private Long xPos;

    private String tab;

    private Integer rowNo;

    public Integer getRowNo() {
        return rowNo;
    }

    public void setRowNo(Integer rowNo) {
        this.rowNo = rowNo;
    }

    public Long getxPos() {
        return xPos;
    }

    public void setxPos(Long xPos) {
        this.xPos = xPos;
    }

    public String getBuyerPhone() {
        return buyerPhone;
    }

    public void setBuyerPhone(String buyerPhone) {
        this.buyerPhone = buyerPhone;
    }


    public BigDecimal getYingfuMoney() {
        return yingfuMoney;
    }

    public void setYingfuMoney(BigDecimal yingfuMoney) {
        this.yingfuMoney = yingfuMoney;
    }

    public BigDecimal getJianmianMoney() {
        return jianmianMoney;
    }

    public void setJianmianMoney(BigDecimal jianmianMoney) {
        this.jianmianMoney = jianmianMoney;
    }

    public Integer getIsTicket() {
        return isTicket;
    }

    public void setIsTicket(Integer isTicket) {
        this.isTicket = isTicket;
    }

    public Date getTicketTime() {
        return ticketTime;
    }

    public void setTicketTime(Date ticketTime) {
        this.ticketTime = ticketTime;
    }

    public Integer getIsComb() {
        return isComb;
    }

    public void setIsComb(Integer isComb) {
        this.isComb = isComb;
    }

    public BigDecimal getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(BigDecimal totalFee) {
        this.totalFee = totalFee;
    }


    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }


    public String getRefundNo() {
        return refundNo;
    }

    public void setRefundNo(String refundNo) {
        this.refundNo = refundNo;
    }


    public Long getPriceId() {
        return priceId;
    }

    public void setPriceId(Long priceId) {
        this.priceId = priceId;
    }


    public String getTicketTitle() {
        return ticketTitle;
    }

    public void setTicketTitle(String ticketTitle) {
        this.ticketTitle = ticketTitle;
    }


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getTicket() {
        return ticket;
    }

    public void setTicket(String ticket) {
        this.ticket = ticket;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getSessionId() {
        return sessionId;
    }

    public void setSessionId(Long sessionId) {
        this.sessionId = sessionId;
    }

    public Long getHallId() {
        return hallId;
    }

    public void setHallId(Long hallId) {
        this.hallId = hallId;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }


    public Integer getRowNumber() {
        return rowNumber;
    }

    public void setRowNumber(Integer rowNumber) {
        this.rowNumber = rowNumber;
    }

    public Integer getSeatNumber() {
        return seatNumber;
    }

    public void setSeatNumber(Integer seatNumber) {
        this.seatNumber = seatNumber;
    }

    public Date getTrainStart() {
        return trainStart;
    }

    public void setTrainStart(Date trainStart) {
        this.trainStart = trainStart;
    }

    public Date getTrainEnd() {
        return trainEnd;
    }

    public void setTrainEnd(Date trainEnd) {
        this.trainEnd = trainEnd;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public String getShowNumber() {
        return showNumber;
    }

    public void setShowNumber(String showNumber) {
        this.showNumber = showNumber;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Date expireTime) {
        this.expireTime = expireTime;
    }

    public Integer getCheckedUserid() {
        return checkedUserid;
    }

    public void setCheckedUserid(Integer checkedUserid) {
        this.checkedUserid = checkedUserid;
    }

    public Date getCheckedTime() {
        return checkedTime;
    }

    public void setCheckedTime(Date checkedTime) {
        this.checkedTime = checkedTime;
    }

    public Long getPerformId() {
        return performId;
    }

    public void setPerformId(Long performId) {
        this.performId = performId;
    }

    public Long getUserinfoId() {
        return userinfoId;
    }

    public void setUserinfoId(Long userinfoId) {
        this.userinfoId = userinfoId;
    }

    public String getUserinfoUserName() {
        return userinfoUserName;
    }

    public void setUserinfoUserName(String userinfoUserName) {
        this.userinfoUserName = userinfoUserName;
    }

    public Integer getUserinfoIdType() {
        return userinfoIdType;
    }

    public void setUserinfoIdType(Integer userinfoIdType) {
        this.userinfoIdType = userinfoIdType;
    }

    public String getUserinfoIdNumber() {
        return userinfoIdNumber;
    }

    public void setUserinfoIdNumber(String userinfoIdNumber) {
        this.userinfoIdNumber = userinfoIdNumber;
    }

    public PerformVo getPerformVo() {
        return performVo;
    }

    public void setPerformVo(PerformVo performVo) {
        this.performVo = performVo;
    }

    public UserInfoVo getUserInfoVo() {
        return userInfoVo;
    }

    public void setUserInfoVo(UserInfoVo userInfoVo) {
        this.userInfoVo = userInfoVo;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Integer getTicketType() {
        return ticketType;
    }

    public void setTicketType(Integer ticketType) {
        this.ticketType = ticketType;
    }

    public Integer getTicketWay() {
        return ticketWay;
    }

    public String getTab() {
        return tab;
    }

    public void setTab(String tab) {
        this.tab = tab;
    }
    public void setTicketWay(Integer ticketWay) {
        this.ticketWay = ticketWay;
    }
    @Override
    public String toString() {
        return "YanchuOrderDetail{" +
                "id=" + id +
                ", orderId=" + orderId +
                ", ticket='" + ticket + '\'' +
                ", userId=" + userId +
                ", sessionId=" + sessionId +
                ", hallId=" + hallId +
                ", areaId=" + areaId +
                ", priceId=" + priceId +
                ", rowNumber=" + rowNumber +
                ", seatNumber=" + seatNumber +
                ", trainStart=" + trainStart +
                ", trainEnd=" + trainEnd +
                ", money=" + money +
                ", showNumber='" + showNumber + '\'' +
                ", status=" + status +
                ", expireTime=" + expireTime +
                ", checkedUserid=" + checkedUserid +
                ", checkedTime=" + checkedTime +
                ", performId=" + performId +
                ", userinfoId=" + userinfoId +
                ", userinfoUserName='" + userinfoUserName + '\'' +
                ", userinfoIdType=" + userinfoIdType +
                ", userinfoIdNumber='" + userinfoIdNumber + '\'' +
                ", performVo=" + performVo +
                ", userInfoVo=" + userInfoVo +
                '}';
    }
}
